The present invention relates to computer modelling systems, and more particularly to a computer system and method for logical modelling.
Prior to making a large-scale investment in a new process, system, physical structure, or the like, it is useful to create a model thereof so that simulations and analysis can be performed before constructing the end product. For example, architects often use models of new buildings to evaluate feasibility, and to present their design concepts to the client. More complex models are used by engineers in designing chemical plants, vehicles such as automobiles and aircraft, and other complicated structures.
Computer modelling has been successfully applied to various modelling endeavors, and is useful in evaluating physical properties of a model, such as the exact orientation and fitting of parts, as well as the performance of the item being modelled in its final intended environment. Such modelling systems are often referred to as CAD/CAM systems.
In a different application area, database technology has been employed to create models of businesses, business transactions, inventory, and the like. Such systems are referred to as "information systems". Database technology used in such systems has progressed from hierarchical means of database management, to network, relational, and most recently object oriented management. Such information modelling systems typically use a "forms" interface for data entry and reporting. Data is generally entered one object at a time, and reporting is used to print and display a cross section of the database.
There has recently emerged a concept of a more sophisticated modelling system in which logical techniques are used in the creation of a model. Logical modelling is similar to information modelling in that a primary concern is to create objects which represent things in the world and then to describe the relationships between these objects. Like CAD/CAM modelling, the best interface to use with a logical modelling system is graphical due to the number and complexity of the relationships between objects. To date, logical modelling systems have relied very heavily on schematic diagrams to model the system being built. Such diagrams are quite different from those in the CAD/CAM world in that they show relationships between objects rather than physical descriptions of an object. While in CAD/CAM modelling, the graphical location of the objects greatly effects the meaning of the model, the same model can be expressed with many different diagrams in logical modelling. Moving objects around in the logical modelling environment will generally have absolutely no effect on the model.
Logical modelling is concerned with rules about logical structure. An example of such a rule in a process model may be that one piece of data must go into and out of a process entity. In a computer network configuration model, such a rule may require the presence of certain pieces of hardware, or may invalidate the use of other pieces of hardware. Violation of such rules in the logical modelling environment is not tolerated.
Past attempts at logical modelling have focused primarily on the graphical representation of objects in the model. Each aspect of the model was specified in isolation, with no meaningful interconnections between the objects that could be subsequently used in connection with an evaluation of the structure and/or behavior of the model. Although such logical modelling systems contained powerful graphics capabilities, they have been unable to provide easily evaluatable results which could be subsequently used to actually control a process, manufacture a product, or, in the software engineering environment, generate actual computer code implementing the end result that the model was created to simulate.
An example of such a prior system in which the focus is on the graphical representation of objects is disclosed in commonly assigned U.S. Pat. Nos. 4,656,603 and 4,813,013, both entitled Schematic Diagram Generating Systems Using Library of General Purpose Interactively Selectable Graphic Primitives to Create Special Applications Icons, and incorporated by reference herein.
It would be advantageous to provide a logical modelling system in which the structure and behavior of models created thereby can be evaluated and ultimately used to implement the thing being modelled. In such a system, the underlying database would contain not just information about the objects in the database, but would also contain data indicative of how the objects are correlated to provide evaluatable models.
It would be further advantageous if the graphics used as the interface between the modelling system and the end user did not simply specify the objects being modelled, as in the past, but were instead used to provide a form of communication for the user to and from the underlying database. In this manner, a user could actually view the database through the graphic interface.
It would be further advantageous to provide tools to enable a modelling methodology to be created for the subsequent creation of intended models. Such tools would, in effect, provide a database editor for the underlying database of the logical modelling system. Such tools would be more useful than past tools that provided for specification techniques (i.e., how to specify things about objects in the modelling system) rather than providing for the creation of modelling methodologies.
It would be further advantageous to provide such a logical modelling system wherein policies of coordination can be established among a plurality of modelling sessions of one or more users. Such a system would enable management of various users who are working on different aspects of a model toward the common goal of creating a final, evaluatable model.
The present invention relates to such a logical modelling system and method of modelling.